/*
 * G3DMImporter.hpp
 *
 *  Created on: Jan 24, 2014
 *      Author: knuke
 */

#ifndef G3DMIMPORTER_HPP_
#define G3DMIMPORTER_HPP_

#include "BinaryStreamReader.hpp"
#include "Importer.hpp"
#include <string>

namespace gengine
{
  class Material;
  class Mesh;
  class Node;
  class Model;
  class G3DMImporter : public Importer
  {
  public:
    G3DMImporter();
    virtual ~G3DMImporter() throw();

    Model* importFile(std::string file_name);

  private:
    Model* model_;
    BinaryStreamReader reader_;

    Material* importMaterial();
    Mesh* importMesh();
    Node* importNode();

  };

} /* namespace gengine */

#endif
